Modern networks often store and provide content to user devices. For example, the network may contain a movie that a user device such as a phone wishes to view. The content may be originally sourced from a single location within a network, and then temporarily replicated to caches throughout the network. By caching content throughout a network, user devices may have a shorter path to the content, improving performance.
A disadvantage of typical network caching schemes is that client devices are unable to discover the locations of caches. Instead, client devices often simply retrieve pieces of content from a single cache. For example, a network node may configure all devices within its network to store and retrieve content from a single cache. This single cache may not be the nearest location that content is stored relative to the client device. In fact, the content may be buffered in multiple distinct locations (e.g., other client devices, etc.), but because the requesting client device is unaware of those cache locations or the caches' contents, the content is generally retrieved from the single content cache, even if that cache is located further from the requesting device than other distributed caches.